package com.houweishi.module.contract.service;

import com.houweishi.common.core.domain.AjaxResult;
import com.houweishi.module.contract.domain.OaContractApproval;
import com.houweishi.module.contract.domain.OaContractApprovalRecord;

import java.util.List;

/**
 * 法务审批Service接口
 * 
 * @author houweishi
 * @date 2023-02-21
 */
public interface IOaContractApprovalService 
{
    /**
     * 查询法务审批
     * 
     * @param id 法务审批主键
     * @return 法务审批
     */
    public OaContractApproval selectOaContractApprovalById(Long id);

    /**
     * 查询法务审批列表
     * 
     * @param oaContractApproval 法务审批
     * @return 法务审批集合
     */
    public List<OaContractApproval> selectOaContractApprovalList(OaContractApproval oaContractApproval);

    /**
     * 新增法务审批
     * 
     * @param oaContractApproval 法务审批
     * @return 结果
     */
    AjaxResult insertOaContractApproval(OaContractApproval oaContractApproval);

    /**
     * 修改法务审批
     * 
     * @param oaContractApproval 法务审批
     * @return 结果
     */
    public int updateOaContractApproval(OaContractApproval oaContractApproval);

    /**
     * 批量删除法务审批
     * 
     * @param ids 需要删除的法务审批主键集合
     * @return 结果
     */
    public int deleteOaContractApprovalByIds(Long[] ids);

    /**
     * 删除法务审批信息
     * 
     * @param id 法务审批主键
     * @return 结果
     */
    public int deleteOaContractApprovalById(Long id);

    /**
     * 查询法务审批列表（含业务表状态）
     * @param oaContractApproval
     * @return
     */
    List<OaContractApprovalRecord> selectOaContractApprovalRecordList(OaContractApproval oaContractApproval);
}
